package mx.ipn.pruebas;

import java.util.ArrayList;

import mx.ipn.persistencia.FabricaDeDAOs;
import mx.ipn.persistencia.dao.*;
import mx.ipn.to.*;

public class PruebaDAOs28 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		FabricaDeDAOs fabricaMySQL = FabricaDeDAOs
				.getFabricaDeDAOs(mx.ipn.Constantes.FABRICA_DAOS_MYSQL);
		//short resultado;

		// ***********************************************************************************************
		// BITACORASERVICIOTARJETA
		System.out
				.println("<<<<<<<<<<<<<<<<<<<<<<<<<BITACORASERVICIOTARJETA>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
		try {

			BitacoraServicioTarjetaDAO bitacoraServicioTarjetaDAO = fabricaMySQL
					.getBitacoraServicioTarjetaDAO();
			
			BitacoraServicioTarjetaTO bitacoraServicioTarjetaTO = new BitacoraServicioTarjetaTO();

			bitacoraServicioTarjetaTO.setIdBitacoraServicio(1);
			bitacoraServicioTarjetaTO.setIdTarjetaCliente(2);

			// insert
			if (bitacoraServicioTarjetaDAO.insertBitacoraServicioTarjeta(bitacoraServicioTarjetaTO)) {
				bitacoraServicioTarjetaDAO.insertBitacoraServicioTarjeta(bitacoraServicioTarjetaTO);
				System.out
						.println("+++++++++++++++++++ Insertado correctamente");
			} else
				System.out.println("Falla en la insercion");

			// Busca
			System.out.println("------------------------- BUSQUEDA POR ID");
			bitacoraServicioTarjetaTO = bitacoraServicioTarjetaDAO.findBitacoraServicioTarjetaById(1);
			if (bitacoraServicioTarjetaTO != null) {
				System.out.println("Busqueda exitosa");

				System.out.println("BITACORASERVICIOTARJETA");
				ImprimirTO.Imprime(bitacoraServicioTarjetaTO);
				for (int x = 0; x < bitacoraServicioTarjetaTO.getListBitacoraServicioTO().length; x++) {
					System.out.println("BITACORASERVICIO");
					ImprimirTO.Imprime(bitacoraServicioTarjetaTO.getListBitacoraServicioTO()[x]);
				}
				for (int x = 0; x < bitacoraServicioTarjetaTO.getListTarjetaClienteTO().length; x++) {
					System.out.println("TARJETACLIENTE");
					ImprimirTO.Imprime(bitacoraServicioTarjetaTO.getListTarjetaClienteTO()[x]);
				}

			} else {
				System.out.println("Falla en la seleccion");
			}
			
			// busqueda multiple
			System.out
					.println("**++++++++++++++++++++++ SELECT BITACORASERVICIOTARJETA +**");
			java.util.Collection<BitacoraServicioTarjetaTO> listBitacoraServicioTarjetaTO = bitacoraServicioTarjetaDAO
					.selectBitacoraServicioTarjeta();
			for (int i = 0; i < listBitacoraServicioTarjetaTO.size(); i++) {
				bitacoraServicioTarjetaTO = ((ArrayList<BitacoraServicioTarjetaTO>) listBitacoraServicioTarjetaTO)
						.get(i);
				System.out.println("BITACORASERVICIOTARJETA");
				ImprimirTO.Imprime(bitacoraServicioTarjetaTO);
				for (int x = 0; x < bitacoraServicioTarjetaTO.getListBitacoraServicioTO().length; x++) {
					System.out.println("BITACORASERVICIO");
					ImprimirTO.Imprime(bitacoraServicioTarjetaTO.getListBitacoraServicioTO()[x]);
				}
				for (int x = 0; x < bitacoraServicioTarjetaTO.getListTarjetaClienteTO().length; x++) {
					System.out.println("TARJETACLIENTE");
					ImprimirTO.Imprime(bitacoraServicioTarjetaTO.getListTarjetaClienteTO()[x]);
				}


			}

			// Busca
			System.out.println("------------------- BUSQUEDA POR BITACORASERVICIO");
			bitacoraServicioTarjetaTO = bitacoraServicioTarjetaDAO
					.selectByBitacoraServicio(1);
			if (bitacoraServicioTarjetaTO != null) {
				System.out.println("Busqueda exitosa");

				System.out.println("BITACORASERVICIOTARJETA");

				for (int x = 0; x < bitacoraServicioTarjetaTO.getListIdOperacion().length; x++) {
					System.out.println("IDBITACORASERVICIOTARJETA");
					System.out.println(bitacoraServicioTarjetaTO
							.getListIdOperacion()[x]);
				}
				
				for (int x = 0; x < bitacoraServicioTarjetaTO.getListTarjetaClienteTO().length; x++) {
					System.out.println("TARJETACLIENTE");
					ImprimirTO.Imprime(bitacoraServicioTarjetaTO.getListTarjetaClienteTO()[x]);
				}

				for (int x = 0; x < bitacoraServicioTarjetaTO.getListBitacoraServicioTO().length; x++) {
					System.out.println("BitacoraServicio");
					ImprimirTO.Imprime(bitacoraServicioTarjetaTO.getListBitacoraServicioTO()[x]);
				}

			} else {
				System.out.println("Falla en la seleccion");
			}
			
			// Busca
			System.out.println("------------------- BUSQUEDA POR TARJETACLIENTE");
			bitacoraServicioTarjetaTO = bitacoraServicioTarjetaDAO
					.selectByTarjetaCliente(2);
			if (bitacoraServicioTarjetaTO != null) {
				System.out.println("Busqueda exitosa");

				System.out.println("BITACORASERVICIOTARJETA");

				for (int x = 0; x < bitacoraServicioTarjetaTO.getListIdOperacion().length; x++) {
					System.out.println("IDBITACORASERVICIOTARJETA");
					System.out.println(bitacoraServicioTarjetaTO
							.getListIdOperacion()[x]);
				}

				for (int x = 0; x < bitacoraServicioTarjetaTO.getListBitacoraServicioTO().length; x++) {
					System.out.println("BitacoraServicio");
					ImprimirTO.Imprime(bitacoraServicioTarjetaTO.getListBitacoraServicioTO()[x]);
				}
				
				for (int x = 0; x < bitacoraServicioTarjetaTO.getListTarjetaClienteTO().length; x++) {
					System.out.println("TARJETACLIENTE");
					ImprimirTO.Imprime(bitacoraServicioTarjetaTO.getListTarjetaClienteTO()[x]);
				}

			} else {
				System.out.println("Falla en la seleccion");
			}

		} catch (Exception e) {
			System.out.println("Ocurrio una excepcion");
		}

	}

}
